public class ClientActions {

	private AccountDBManager accountDBManager;
	private CustomerDBManager customerDBManager;
	private DepositDBManager depositDBManager;
	private PropertyDBManager propertyDBManager;
	private DepositTypesDBManager depositTypesDBManager;
	private ClientReports clientReports;
	private BalanceDBManager balanceDBManager;

	public ClientActions(AccountDBManager accountDBManager, CustomerDBManager customerDBManager, PropertyDBManager propertyDBManager, DepositDBManager depositDBManager, DepositTypesDBManager depositTypesDBManage, ClientReports clientReports, BalanceDBManager balanceDBManager) {
		this.accountDBManager = accountDBManager;
		this.customerDBManager = customerDBManager;
		this.propertyDBManager = propertyDBManager;
		this.depositDBManager = depositDBManager;
		this.depositTypesDBManager = depositTypesDBManage;
		this.clientReports = clientReports;
		this.balanceDBManager = balanceDBManager;

	}

	public boolean deposit(Account account, long moneyAmount) throws DBManagerException {
		return accountDBManager.depositWithComm(account, moneyAmount);
	}

	public boolean withdraw(Account account, long moneyAmount) throws DBManagerException {
		return accountDBManager.withdrawWithComm(account, moneyAmount);
	}

	public Account getAccountById(long AccountId) throws DBManagerException {
		return accountDBManager.getAccountById(AccountId);
	}

	public Customer getCustomerById(long customerId) throws DBManagerException {
		return customerDBManager.getCustomerById(customerId);
	}

	public boolean updateCustomerbyClientAction(Customer customer) throws DBManagerException {
		return customerDBManager.updateCustomerbyClientAction(customer);
	}

	public boolean checkPassword(long password) throws DBManagerException {
		return customerDBManager.checkPassword(password);
	}

	public boolean addDeposit(Deposit deposit) throws DBManagerException {
		return depositDBManager.addDeposit(deposit);
	}

	public boolean drawDeposit(Deposit deposit) throws DBManagerException {
		return depositDBManager.drawDeposit(deposit);
	}

	public Deposit getDepositById(long depositId) throws DBManagerException {
		return depositDBManager.getDepositById(depositId);
	}

}
